// =================================================================================
// FileName : ffc.v
// Function :  A flip-flop with asynchronous clear, for use in shift register models.
// ---------------------------------------------------------------------------------
// Author   : QilinZhao
// Version  : v-1.0
// Date     : 2013-08-29
// E-mail   : forqilin@163.com
// Copyright: QiXin Studio
// =================================================================================

module ffc (output Q, Qn, input D, Clk, Clr);
  
  reg  QReg;  // Storage.
  
  assign #2 Q  =  QReg;
  assign #1 Qn = ~QReg;
  
  always@(posedge Clk, posedge Clr)
     if (Clr == 1'b1)
          QReg <= 1'b0;
     else QReg <= D;
  
endmodule // ffc
